{% extends "zerver/portico.html" %}

{# Zephyr Mirroring information page #}

{% block portico_content %}
    <h1 style="margin-top:30px;">The Zephyr mirror script (not recommended)</h1>

<p>Webathena is the easiest way to use Zulip.  With Webathena, you don't need
to run any software in a screen session.  Your Athena password never leaves
your computer and the only access that any Zulip computer ever receives is the
ability to send/receive zephyrs as you.</p>

<p>We recommend that you use Webathena instead of following these instructions.
Please only follow these instructions if you know that you want to run the zephyr
mirror script instead of using Webathena.</p>

<h3 id="mirror">Running the Zephyr mirror script</h3>
    <p>On an Athena dialup
    (<a href="https://linerva.mit.edu">linerva.mit.edu</a>,
     <a href="https://athena.dialup.mit.edu">athena.dialup.mit.edu</a>,
    etc.), run the Zephyr mirroring script inside a screen
    session.</p>

    <p><strong>IMPORTANT: You must keep the Zephyr mirroring script
    always running in a session with unexpired Kerberos
    tickets.</strong>  The script forwards personals you receive on
    Zephyr to Zulip, and forwards messages you send in Zulip to
    Zephyr.  <strong>If it is not running, only other Zulip users
    will receive messages you send from Zulip!</strong>.  The Zulip
    web application will warn you if the Zephyr mirroring script is
    not running.</p>

    <p>If you already have Barnowl running in screen/tmux somewhere,
    you can just run:</p>

    <p><code>/mit/tabbott/zulip/zephyr_mirror.py</code></p>

    <p>inside that screen session.</p>

    <h4>Mirroring without a Barnowl session</h4>

    <p>If you are not already running a screen/tmux for Barnowl, you
    can setup a screen session to run the Zephyr mirroring script by
    running the following on a dialup such
    as <a href="https://linerva.mit.edu">linerva.mit.edu</a>:</p>

      <ol>
    <li><code>kinit -l7d && aklog</code></li>
    <li>(Type your password to create 7-day renewable Kerberos tickets)</li>
    <li><code>env ZEPHYR_SCREEN_CLIENT=/mit/tabbott/zulip/zephyr_mirror.py
        SCREEN_SESSION_NAME=zulip athrun kchen owl-screen
    </code></li>
    </ol>

    <p>This will run the Zephyr Mirroring script inside a screen
    session, and use `/mit/kchen/bin/cont-renew-notify` to continually
    renew your Kerberos tickets for up to a week; each week, it will
    send you a Zephyr/Zulip letting you know that you need to renew
    your tickets.  To do so, login to the server that you setup the
    screen session on and use the following procedure:</p>

    <ol>
    <li>Run <code>screen -x zulip</code> to connect to the mirroring
        screen session created above.</li>
    <li>The first time, you'll need to type <code>ctrl-a c</code> to switch to a new terminal in your screen session.</li>
    <li><code>kinit -l7d && aklog</code></li>
    <li>(Type type your password to renew your Kerberos tickets).</li>
    </ol>

    <p>Don't run multiple copies of the Zephyr mirroring script;
    doing so will result in messages you sent being forwarded to
    Zephyr twice.</p>

{% endblock %}
